package com.itheima.spring.beans;

/**
 * Bean定义接口
 * 通过bean定义注册接口BeanDefinitionRegistry把bean定义BeanDefinition注册到BeanFactory中
 */
public interface BeanDefinitionRegistry {

    /**
     * 注册Bean定义
     * @param beanName
     * @param beanDefinition
     * @throws BeanDefinitionRegisterException
     */
    void registerBeanDefinition(String beanName, BeanDefinition beanDefinition) throws BeanDefinitionRegisterException;

    /**
     * 获取bean定义
     * @param beanName
     * @return
     */
    BeanDefinition getBeanDefinition(String beanName);

    /**
     * 检测是否包含这个bean definition
     * @param beanName
     * @return
     */
    boolean containsBeanDefinition(String beanName);
}
